#ifndef POSEDET_H
#define POSEDET_H

#include <memory>
#include <opencv2/core.hpp>
#include "human_interface.h"
#include "classification.h"

class Posedet {
public:
	Posedet(const char* prototxt, const char* caffemodel, cv::Size basesize);
	~Posedet() {
		releaseBlobData(net_output);
		releaseBlob_local(&input);
		releaseBlob_local(&nms_out);
	}
	void detect(const cv::Mat& img, std::vector<float>& keypoints, std::vector<int>& shape);
	float scale = 0;

private:
	cv::Size baseSize;
	std::shared_ptr<Classifier> cls;
	BlobData* net_output;
	BlobData* nms_out;
	BlobData* input;
	
};

#endif // !POSEDET_H
